﻿using Model.BusinessModel;
using Model.BusinessModel.OutPut.sys;
using Model.DomainModel.Sys;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Utility;

namespace DomainService.IService.Sys
{
    /// <summary>
    /// 菜单数据列服务接口
    /// </summary>
    public interface ISysMenuTableColsService
    {
        /// <summary>
        /// 反射同步数据列
        /// </summary>
        ReceiveStatus ReflexSynchronousCols(string corporationKey, string systemKey);

        /// <summary>
        /// 根据菜单id获取列
        /// </summary>
        /// <param name="menuId">菜单ID</param>
        /// <returns></returns>
        ReceiveStatus<SysMenuTableColsOutPut> GetTableColsByMenuId(string menuId);

        /// <summary>
        ///  根据条件获取数据列
        /// </summary>
        /// <param name="pageResultModel">分页模型</param>
        /// <returns></returns>
        public PageResultModel<SysMenuTableColsOutPut> GetTableColsByWhere(PageResultModel pageResultModel);

        /// <summary>
        /// 根据菜单id和字段名称获取数据列
        /// </summary>
        /// <param name="menuId">菜单id</param>
        /// <param name="fieldEnName">字段名称</param>
        /// <returns>返回数据列</returns>
        ReceiveStatus<SysMenuTableCols> GetTableColsByMenuIdOrFieldName(string menuId, string fieldEnName);

        /// <summary>
        /// 修改字段信息
        /// </summary>
        /// <param name="sysMenuTableCols"></param>
        ReceiveStatus UpdateTableCols(SysMenuTableCols sysMenuTableCols);

        /// <summary>
        /// 新增数据列
        /// </summary>
        /// <param name="sysMenuTableCols"></param>
        ReceiveStatus InsertCols(SysMenuTableCols sysMenuTableCols);
    }
}
